import sqlite3
import os

# 数据库文件路径
db_path = r'd:\manage1\graduation-project\manage1\manage1\manage\db.sqlite3'

try:
    # 连接到SQLite数据库
    conn = sqlite3.connect(db_path)
    cursor = conn.cursor()
    
    # 检查用户管理表是否存在
    cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='property_user';")
    table_exists = cursor.fetchone()
    
    if table_exists:
        print("✓ 用户管理表 property_user 已成功创建")
        
        # 显示表结构
        print("\n表结构详情:")
        cursor.execute("PRAGMA table_info(property_user)")
        columns = cursor.fetchall()
        for col in columns:
            print(f"  - {col[1]}: {col[2]}")
        
        # 显示表中的数据
        print("\n表中数据:")
        cursor.execute("SELECT id, user_type, username, status FROM property_user")
        rows = cursor.fetchall()
        
        if rows:
            print(f"  共 {len(rows)} 条记录:")
            for row in rows:
                print(f"  - ID: {row[0]}, 类型: {row[1]}, 用户名: {row[2]}, 状态: {row[3]}")
        else:
            print("  表中暂无数据")
    else:
        print("✗ 用户管理表不存在")
        
        # 显示所有表名，检查是否有类似的表
        print("\n数据库中的所有表:")
        cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
        tables = cursor.fetchall()
        for table in tables:
            print(f"  - {table[0]}")
    
    # 检查字段是否符合要求
    required_fields = ['user_type', 'username', 'password', 'status']
    cursor.execute("PRAGMA table_info(property_user)")
    actual_fields = [col[1] for col in cursor.fetchall()]
    
    print("\n字段检查:")
    all_fields_ok = True
    for field in required_fields:
        if field in actual_fields:
            print(f"  ✓ 字段 '{field}' 存在")
        else:
            print(f"  ✗ 字段 '{field}' 不存在")
            all_fields_ok = False
    
    if all_fields_ok:
        print("\n✓ 所有必需字段都已正确创建")
        print("\n用户管理表创建完成，包含以下内容:")
        print("1. 表名: property_user")
        print("2. 字段: id, user_type (用户类型), username (用户名), password (密码), status (状态)")
        print("3. 示例数据: 管理员用户(admin)和普通用户(user1)")
    else:
        print("\n✗ 部分必需字段缺失")
        
except sqlite3.Error as e:
    print(f"数据库错误: {e}")
except Exception as e:
    print(f"发生错误: {e}")
finally:
    if conn:
        conn.close()
        print("\n数据库连接已关闭")